<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>流程控制作业</title>
  </head>
  <body>
    <script>
      /* 
      T0 自己完成流程控制的思维导图，明天检查
      */

      /* 
      T1  在控制台中循环输出 0 0.2 0.4 0.6 0.8 1
      */
      {
        for (let i = 0; i < 12; i += 2) {
          console.log(i / 10);
        }
      }
      /* 
      T2  break和continue有什么区别
      */

      // {
      //   break;  退出循环体
      //   continue  退出本次循环 继续执行下次循环
      // }

      /* 
      T3  循环输出 1-100 里奇数
      */
      {
        for (let i = 1; i <= 100; i++) {
          if (i % 2 !== 0) {
            console.log('1~100的奇数有', i);
          }
        }
      }

      /* 
      T4  有一座桥，当你身上所拥有的钱大于 30000 时，每过一次桥则需要支付 3000 元。当你身上的钱小于或等于 30000 时，每过一次桥则需要支付你身上 10%的钱。已知有一个人身上有 33000 元，问此人能过这座桥多少次之后，身上的钱会少于 100 块?
      */
      {
        let many = 33000; //本金
        let time = 0; //次数
        while (many > 0) {
          if (many > 30000) {
            many -= 3000;
            time++;
          } else {
            many = many - many * 0.1;
            time++;

            if (many <= 100) {
              break;
            }
          }
        }
        console.log('过桥' + time + '次身上的钱少于100时');
      }

      /* 
      T5  小明去存 1000 钱，每天会产生 1%的利息，求问，30 天后，小明可以拿回多少钱
      */
      {
        let many = 1000; //本金
        for (let i = 0; i < 30; i++) {
          many = many + many * 0.01;
        }
        console.log('30 天后，小明可以拿回的钱：', many);
      }

      /* 
      (提高)求水仙花数：水仙花数是这样一个三位数,它的每个数位的数字的立方和等于它本身。
      */
      {
        let number = 153; //3^3+5^3+1^3 ===153
        let x = parseInt(number / 100);
        let y = parseInt((number % 100) / 10);
        let z = parseInt(number % 10);
        sum = Math.pow(x, 3) + Math.pow(y, 3) + Math.pow(z, 3);
        sum === number
          ? console.log(number + '是水仙花数')
          : console.log(number + '不是水仙花数');
      }

      /* 
      (提高)
      猜数字游戏
      规则：
      1. 电脑随机生成一个 0~99 之间的数字；
      2. 玩家有 7 次猜测的机会；
      3. 玩家猜测一个数字, 输入到程序中；
      4. 电脑根据输入的数字打印: 猜大了/猜小了/猜对了的情况；
      5. 猜对了, 那么游戏结束，显示恭喜您；
      6. 7 次机会用完打印: 您的次数用完了, 您失败了；
      */
      {
        let number = Math.floor(Math.random() * 100);
        console.log(number);
        for (let i = 7; i > 0; i--) {
          let guess = Number(prompt('输入 0~99 之间的数字进行猜测'));
          if (i == 1) {
            alert('7 次机会用完打印: 您的次数用完了, 您失败了');
            break;
          }
          if (number === guess) {
            alert('猜对了,它的数字为' + number);
            break;
          } else if (number > guess) {
            alert('猜小了,还剩' + i + '次机会');
          } else if (number < guess) {
            alert('猜大了，还剩' + i + '次机会');
          }
        }
      }
    </script>
  </body>
</html>
